#!/user/bin/env python3
# -*- coding: utf-8 -*-
# 新建base类
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait


class Base:
    # 初始化方法
    def __init__(self):
        self.driver = webdriver.Chrome()
        self.driver.maximize_window()
        self.driver.get("https://www.baidu.com")
        # self.driver.get("https://test-autonomous-saas.deepblueai.com/#/login")

    # 查找元素方法
    def base_find_element(self, loc, timeout=30, poll=0.5):
        """
        # 显示等待
        :param loc: 元素的配置信息，格式为元组，如，login_btn=By.CSS_SELECTOR,"#login_sms_btn"
        :param timeout:默认超时时间为30s，可以通过传入参数进行修改
        :param poll:默认访问频率的0.5s
        :return:查找到的元素必返回
        """
        return WebDriverWait(self.driver,
                             timeout=timeout,
                             poll_frequency=poll).until(lambda x: x.find_element(*loc))

    # 点击方法
    def base_click(self, loc):
        self.base_find_element(loc).click()

    # 输入方法
    def base_input(self, loc, value):
        ele = self.base_find_element(loc)
        ele.chear()
        ele.send_keys(value)

    # 其他方法
    def base_other_method(self):
        pass
